stylecontext: Refactor gtk_style_context_invalidate()
authorBenjamin Otte <otte@redhat.com>
Sun, 22 Feb 2015 07:26:29 +0000 (08:26 +0100)
committerBenjamin Otte <otte@redhat.com>
Wed, 18 Mar 2015 14:23:32 +0000 (15:23 +0100)
There's no need anymore to recreate styles, nodes do that automagically
now.

This allows making gtk_css_node_set_style() private.

gtk/gtkcssnode.c
gtk/gtkcssnodeprivate.h
gtk/gtkstylecontext.c

index 2c032ed989f162ef988c52c55f3111d94dd4a2cd..0aaf64d56fae4ae6f296afd68ae29ab0069cc9e1 100644 (file)
@@ -592,7 +592,7 @@ gtk_css_node_get_next_sibling (GtkCssNode *cssnode)
   return cssnode->next_sibling;
 }
 
-void
+static void
 gtk_css_node_set_style (GtkCssNode  *cssnode,
                         GtkCssStyle *style)
 {
index 38cd36d89182c459f80bfc9f5f4611340a5f7304..1fb0a4970e4b70c79ab0b042d93b66a5bc54bfe2 100644 (file)
@@ -137,8 +137,6 @@ const GtkCssNodeDeclaration *
 
 
 GtkCssStyle *           gtk_css_node_get_style          (GtkCssNode            *cssnode);
-void                    gtk_css_node_set_style          (GtkCssNode            *cssnode,
-                                                         GtkCssStyle           *style);
 GtkCssStyle *           gtk_css_node_create_style       (GtkCssNode            *cssnode);
 
 void                    gtk_css_node_invalidate_style_provider
index d1ae36971ffe90a4b2ce974124d6f0a62b55e263..1dd917afa87bdef74210e2f4e24e9d8f6c1caa44 100644 (file)
@@ -2385,22 +2385,6 @@ gtk_style_context_pop_animatable_region (GtkStyleContext *context)
   g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
 }
 
-static void
-gtk_style_context_clear_cache (GtkStyleContext *context)
-{
-  GtkStyleContextPrivate *priv;
-  GSList *l;
-
-  priv = context->priv;
-
-  for (l = priv->saved_nodes; l; l = l->next)
-    {
-      gtk_css_node_set_style (l->data, NULL);
-    }
-
-  gtk_style_context_clear_property_cache (context);
-}
-
 static void
 gtk_style_context_do_invalidate (GtkStyleContext  *context,
                                  const GtkBitmask *changes)
@@ -2450,18 +2434,10 @@ void
 gtk_style_context_invalidate (GtkStyleContext *context)
 {
   GtkBitmask *changes;
-  GtkCssStyle *style;
-  GtkCssNode *root;
 
   g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
 
-  gtk_style_context_clear_cache (context);
-  gtk_css_node_set_style (context->priv->cssnode, NULL);
-
-  root = gtk_style_context_get_root (context);
-  style = gtk_css_node_create_style (root);
-  gtk_css_node_set_style (root, style);
-  g_object_unref (style);
+  gtk_style_context_clear_property_cache (context);
 
   changes = _gtk_bitmask_new ();
   changes = _gtk_bitmask_invert_range (changes,